@烟雨
2年前 提问
1个回答

公钥密码体制有什么优点

delay
2年前
官方采纳

公钥密码的优点如下:

  • 密钥分发简单。由于加密与解密的密钥不一样,且无法由加密密钥推断出解密密钥,从而使加密密钥表可如电话号码本一样通过主管部门发给用户。

  • 需秘密保存的密钥量减少。网络中每个用户仅需秘密保管自己的解密密钥,N个成员只要得到N对密钥。

  • 可实现都不认识的人之间私人聊天是保密的。

  • 可以完成数字签名和认证。发信者用仅他才知道的密钥签名,收信者用公钥检查,且第三者无法对签名进行篡改与伪造,既方便又安全。

公钥密码也有很多缺点:

  • 设计公钥密码算法与设计对称密码算法相比要有更大的限制,自由度大为降低,这是因为公开密钥可提供更多的信息来攻击算法。

  • 到目前为止发明的公钥密码算法用数学术语描述都非常轻易,它们的强度总是在求解一个指定数学难题的困难方面,但这种困难性只是一种设想,随着数学的发展,许多现在还非常困难的问题未来有可能变得比较容易。

  • 公钥密码体制的安全性完全是构建在计算复杂性理论的基础之上的,而这个基础是否能够保证密码系统的安全呢?在安全的加密算法中,合法用户应能应用其秘密信息很容易地从密文恢复明文,而攻击者却无法有效地解密密文。而另一方面,一个非确定性图灵机却能很快地解密密文。因此,安全加密算法的存在,就意味着有这样一种工作,这种工作只能由非确定性多项式时间图灵机,而无法由确定性多项式时间图灵机完成。尽管P#NP是现代密码编码学的一个必要条件, 却不是充分条件。若破译一个加密算法是NP完全的, 则PNP代表这种加密算法在最差的情况下是难攻破的,但它仍不能排除一个加密算法在多数情况下很易被攻破的可能性。实际上,可构造一个破译问题为NP完全的,但同时存在一个能以99%概率成功的破译算法。因此,最坏情况下难破译不是安全性的一个好的评估。安全需要在绝大多数时难破译,或至少“通常是难破译的”。

  • 只考虑通常情况下难计算的NP问题的存在性也没有取得满意的结果。为了可以应用在一般情况下不易计算的问题,一定得有能很快解决此难题的辅助信息(陷门)。否则,合法用户也是难处理的。因此,公钥密码是建立在单向函数的基础上。但单向函数的存在性到目前都没有证明,尽管如此,密码学界普遍认为单向函数是存在的。